﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;

namespace CAOS.Entity.Validation
{
    internal class UsuarioMetaData
    {
        [Required(ErrorMessage = "Campo obrigatório")]
        [StringLength(15, ErrorMessage = "O Login do usuário deve possuir de 4 a 15 caracteres.", MinimumLength = 4)]
        [RegularExpression(@"(\S)+", ErrorMessage = "Espaços em branco não são permitidos.")]
        public string Login { get; set; }

        [Required(ErrorMessage = "Campo obrigatório")]
        [StringLength(30, ErrorMessage = "O nome do usuário deve possuir de 4 a 30 caracteres.", MinimumLength = 2)]
        public string Nome { get; set; }


        [DataType(DataType.EmailAddress)]
        [RegularExpression(@"^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$", ErrorMessage = "E-mail inválido.")]
        [Display(Name = "E-Mail")]
        [Required]
        public string Email { get; set; }

        [Required(ErrorMessage = "Campo obrigatório")]
        [StringLength(10, ErrorMessage = "A senha deve possuir de 4 a 10 caracteres.", MinimumLength = 4)]
        [RegularExpression(@"(\S)+", ErrorMessage = "Espaços em branco não são permitidos.")]
        public string Senha { get; set; }
    }
}
